昨天大概瞭解了RealmSwift的用法,今天開始來製作鬧鐘,鬧鐘的畫面有點多,每個畫面之間傳值的方式跟上次用的也不太一樣。
首先從新增鬧鐘的畫面開始,會用到一個PickerView,一個TableView跟一個Button。
而TableView裡有四個Cell,每個Cell連接不同的設定畫面,而Cell裡的樣式也不太一樣,大概的樣式也能分成兩種,所以這裡同時註冊兩種Cell。
func registerCell() {
addPageTableView.register(UINib(nibName: "AddPageLabelCell", bundle: nil), forCellReuseIdentifier: "LabelCell")
addPageTableView.register(UINib(nibName: "AddPageSwitchCell", bundle: nil), forCellReuseIdentifier: "SwitchCell")
addPageTableView.delegate = self
addPageTableView.dataSource = self
}
註冊好兩種Cell之後,要來設定TableView裡Cell的樣子了。
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
switch indexPath.row {
case 0:
let cell = addPageTableView.dequeueReusableCell(withIdentifier: "LabelCell", for: indexPath) as! AddPageLabelCell
cell.settingLabel.text = "重複"
cell.settingLabel.textAlignment = .center
return cell
case 1:
let cell = addPageTableView.dequeueReusableCell(withIdentifier: "LabelCell", for: indexPath) as! AddPageLabelCell
cell.settingLabel.text = "標籤"
cell.settingLabel.textAlignment = .center
return cell
case 2:
let cell = addPageTableView.dequeueReusableCell(withIdentifier: "LabelCell", for: indexPath) as! AddPageLabelCell
cell.settingLabel.text = "鈴聲"
cell.settingLabel.textAlignment = .center
return cell
case 3:
let cell = addPageTableView.dequeueReusableCell(withIdentifier: "SwitchCell", for: indexPath) as! AddPageSwitchCell
cell.settingLabel.text = "啟動"
cell.settingLabel.textAlignment = .center
cell.selectionStyle = .none
return cell
default:
return UITableViewCell()
}
}
到這裡設定好四個Cell基本的樣式和內容了,明天就是四個Cell各自連接的畫面和功能。